Clasificador de eclipses solares

Juan Camilo Gonzalez Burgos - Juan Sebastian Parra Quintero - Sebastian Pino Sánchez

Basado en el dataset de kaggle Solar and Lunar Eclipses publicado por la NASA.

Un eclipse solar se presenta cuando desde la tierra, la luna se antepone al sol generando este fenómeno astronómico, igualmente debe ocurrir una alineación entre la tierra, la luna (llena) y el sol. Los tipos de eclipses son:

image.png

Estadística descriptiva

La estadística descriptiva es una disciplina que se encarga de recoger, almacenar, ordenar, realizar tablas o gráficos y calcular parámetros básicos sobre el conjunto de datos. Particularmente para este caso, se pretende utilizar esta disciplina con la finalidad de analizar todas las variables proporcionadas por la NASA para un eclipse y ajustar el conjunto de datos, antes de iniciar con el problema de inferencia.

Variables

A continuación de da un pequeña descripción de todas las variables del conjunto de datos proporcionado:

image.png

Funciones de tipo ETL para la transformación de las variables del dataset

Los procesos ETL (Extract, Transform, Load) se aplican con los siguientes objetivos:

  1. Extract: Obtener el conjunto de datos de la fuente de origen.
  2. Transform: Organizar los datos de la fuente de origen a un formato que esté en concordancia con nuestra arquitectura.
  3. Load: Llevar los datos trasformados a un punto en común para otros procesos de analítica.

Particularmente para este problema, únicamente utilizamos los procesos de transformación y de carga.

Limpieza de datos

Teniendo en cuenta las variables anteriormente listadas, se procesarán las siguientes:

Transformación de fechas

El objetivo de la tranformación de las fechas, es llevar todas estas a un formato en común (días transcurridos en el calendario Juliano) evitado tener dos tipos de formatos (Gregoriano, Juliano). También, se pretente que la función de transformación tenga como conjunto de llegada un valor numérico ordenado y no un conjunto de datos categóricos.

image.png

Estadística descriptiva variables numéricas

Las variables númericas son las siguientes

Delta T(s)

Delta T(s): Es la diferencia de tiempo obtenida al restar el Tiempo Universal del Tiempo Terrestre. Tipo de dato -> [Numérica]

Podemos notar que la mayor cantidad de los datos se encuentran cerca de 0 por el valor de la Asimetría que es mayor a 0 (1.0009616201574247) y por la curtosis podemos notar que la mayor cantidad de valores están cerca de la mediana y esto lo podemos evidenciar también por el diagrama de cajas. lo que nos dice que que los eclipses se presentan más que todo cuando el tiempo universal está cerca del tiempo terrestre

Según la anterior gráfica podemos notar que varios de los diferentes tipos de eclipses tienen un comportamiento similar independiente del valor de Delta, lo que nos hace creer que el valor de Delta no afecta el tipo de eclipse exceptuando algunos casos como lo es el A+ (Eclipse anular) y el H2 (Eclipse híbrido)

Lunation number

Lunation number: El Número de Lunación es el número de meses sinódicos desde la Luna Nueva de 2000 Ene 06. Tipo de dato -> [Numerica]

La muestra de esta variable representa que tiene una distribución uniforme. Lo que que nos dice que no genera mucho valor para nuestra variable objetivo ya que no importa la cantidad de meses sinódicos que han pasado hasta el día que ocurrió el eclipse.

Según la gráfica anterior nos confirma que esta variable generará poco valor a nuestra variable objetivo ya que casi todos los diagramas de caja son similares independiente del tipo de eclipse.

Saros number

Saros number: Es un periodo de tiempo de 223 lunas (meses sinódicos), lo que equivale a 6585.32 días. Tipo de dato -> [Numérica]

Esta variable tiene una distribución normal baja y esto lo evidenciamos por la Curtosis negativa, lo que nos quiere decir que el valor que se encuentra en el percentil 25 y el percentil 75 aparece casi las mismas veces que la mediana, y está correlacionada completamente con la variable de lunation number, ya que tiene una forma similar a la distribución uniforme

Gamma

Gamma: De un eclipse describe la centralidad con la que la sombra de la Luna o de la Tierra incide sobre el otro cuerpo. Tipo de dato -> [Numérica]

La muestra de esta variable sigue una distribución uniforme lo que nos dice que no debemos tener en cuenta las métricas de Asimetría y Curtosis, lo que se cree es que esta variable no va a representar mucho la variable objetivo ya que los diferentes valores se presentan la misma cantidad de veces independientemente si es el valor mínimo o el valor máximo.

Aquí podemos evidenciar que cuando no se discriminan los datos por el tipo de eclipse los datos cumplen una distribución uniforme, a diferencia cuando los discriminamos algunos tipos de eclipse si notamos que el valor de gamma cambia según el tipo de eclipse y esto tiene sentido por lo que gamma describe la centralidad con la que la sombra de la Luna o de la Tierra incide sobre el otro cuerpo y un eclipse es cuando un cuerpo celeste tapa del otro cuerpo celeste y la sombra tiene todo que ver desde el punto del espectador y también si el eclipse fue total, anular o parcial

Eclipse Magnitude

Eclipse Magnitude: Es la fracción del diámetro angular de un cuerpo celeste que se eclipse. Tipo de dato -> [Numérica]

Como podemos notar en la gráfica de distribución de los datos la mayor cantidad de puntos se encuentran cerca del valor máximo de la magnitud y esto no lo confirma el valor negativo de la asimetría y por el valor cerca de 0 de la curtosis podemos notar que la mayor cantidad de puntos se encuentran entre los percentiles 25 y 75, esto nos quiere decir que es más comun que al momento de presentarse un eclipse la fracción del diametro es más cerca 1, lo que quiere decir que un cuerpo oculte por completo al otro

Podemos notar que los eclipces que son parciales, la magnitud de eclipse es que puede llegar a 0 por lo que el cuerpo espacial no necesariamente va a tapar el otro cuerpo espacial a comparación de los otros tipos de eclipse (Total, Anular, Híbrido) son más cercanos a 1 por lo que es cuando un cuerpo espacial tapa por completo el otro cuerpo espacial lo que nos dice que siempre va a estar más cerca 1.

Latitude

Latitude: Es la distancia angular entre la línea ecuatorial (el ecuador). Tipo de dato -> [Numerica]

Podemos notar en el histograma que en los intervalos de [-65, -75] y [65, 75] de distancia angular respecto la linea ecuatorial se han presentado la mayor cantidad de eclipses y esto se ubica más cerca de los polos del planeta tierra

Cuando no discriminamos los datos por el tipo de eclipse concluimos que en los intervalos en los que los eclipses se presentan más son entre [-65, -75] y [65, 75], pero para ser más exactos con esta conclusión es que algunos tipos de eclipses solo se presentan en esos intervalos lo que hace que esos valores en la latitud tengan una mayor frecuencia

Longitude

Longitude: Es un concepto métrico definible para entidades geométricas sobre las que se ha definido una distancia. Tipo de dato -> [Numerica]

Podemos notar que esta variable sigue una distribución uniforme, lo que nos quiere decir que la presencia de los eclipses es igual independiente de la longitud

Sun Altitude

Sun Altitude: Es el ángulo del sol en relación con el horizonte de la Tierra, y se mide en grados. La altitud es nula al amanecer y al atardecer, y puede alcanzar un máximo de 90 grados (directamente por encima) al mediodía en latitudes cercanas al ecuador. Tipo de dato -> [Numerica]

Sun Azimuth

Sun Azimuth: Es el ángulo entre la proyección del centro del sol sobre el plano horizontal y la dirección sur. Tipo de dato -> [Numerica]

Con esta última gráfica podemos notar que la variable Sun Azimuth depende del tipo de eclipse que se presenta ya que, es por esto que es más fácil describir esta variable, por lo que el angulo depende si el tipo de eclipse es total, Anular o parcialy como notamos algunos tipos de eclipses el único valor que tiene es 0 o valores muy bajos

Path Width (km)

Path Width (km): Anchura de la trayectoria de la totalidad. Tipo de dato -> [Numérica]

Según la asimetría podemos notar que la mayor cantidad de números se encuentran cerca del número mínimo y esto lo podemos confirmar por el valor positivo de la asimetría y por la curtosis positiva podemos notar que los percentiles 25 y 75 están cerca lo que nos quiere decir que la mayor cantidad de valores (25% - 75%) de esta variable no son muy dispersos, lo que nos quiere decir que la mayor cantidad de eclipses tienen valores similares que se encuentran entre 108Km y 266Km. El valor tan alto a la desviación estandar nos dice que el valor mínimo y el valor máximo están muy alejados respecto a la distribución total de los datos y nos pude decir que hay varios valores atípicos y según el valor de la asimetría podríamos decir que los valores atípicos están más cerca del valor máximo. Según la segunda gráfica que discriminamos los datos según el tipo de eclipse notamos que algunos tipos de eclipse este valor es nulo, por lo que algunos tipos de eclipse no son completos, y notamos que algunos tipos de eclipse el espectro de datos es más alto por el mismo tipo, que son los totales y anulares, en cambio las variaciones de estos eclipses los espectros son distancias menores por lo que son eclipses con variaciones

Central Duration

Central Duration: Tiempo que dura el eclipse en el centro del otro cuerpo. Tipo de dato -> [Numérica]

La muestra de esta variable nos dice que cumple una distribución normal, lo que podemos concluir según el valor de la asimetría y la curtosis es que la mayor cantidad de valores están más cerca del valor mínimo de la muestra y que la distribución de los datos entre el percentil 25 y 75 es alta. Esto nos muestra que el tiempo de duración de una eclipse está entre 126s y 341s y los valores de 0 son los valores de eclipse parciales

Como notamos en la gráfica los tipos de eclipses en los que el cuerpo espacial cubre por completo el otro cuerpo dura más tiempo y es coherente ya que son los anulares porque son los que los eclipses anulares son los que se percibe un aro amarillo que sobre pasa el cuerpo de la luna, lo que permite que la luna dure más tiempo cubriendo el sol

Estadística descriptiva de la variable Time JD (Julian Days)

Time Julian Date: Tiempo transcurrido de una eclipse medido en calendario Juliano -> [Numérica]

Las gráficas anteriores muestran que el tiempo medido en calendario Juliano tiene una distribucción normal con un valor mínimo de aproximadamente 991085 y un valor máximo de aproximadamente 2817079

Detección y limpieza de outliers

A modo de simplificar el proceso para la detección y limpieza de datos atípicos, se toma la decisión de eliminar los eclipses donde se cumpla que el valor de alguna de las columnas númericas para los elementos de la muestra se encuentren por fuera del 99.7% de los demás valores, en otras palabras el valor sea mayor a 3 veces la desviación estandar (sobre Z-score).

image.png

Correlación de las variables

El coeficiente de correlación es una prueba que mide la relación estadística entre dos variables. Se cuenta con diferentes coeficientes para medir la correlación entre las variables, particularmente para este caso, se utilizará el coeficiente de Pearson, que es proporcionado por defecto por el paquete de Pandas y el método .corr(...) aplicado al dataframe. Las consideraciones del coeficientes son:

  1. Las variables deben tener una distribucción aproximada.
  2. No se deben tener en cuenta los outliers (valores atípicos).
  3. Las asociaciones encontradas deben ser lineales.

Ecuación para el cálculo de la correlación de Pearson

image.png

Interpretación de los resultados

Al calcular el coeficiente de Pearson entre dos variables, se obtiene un resultado entre [-1, 1], donde 1 presenta una relación positiva entre las variables (directamente proporcional), -1 una relación negativa entre las variables (inversamente proporcional) y 0 se interpreta como una no relación lineal entre las variables.

image.png

Diferencias de tiempos entre eclipses

Dados los periodos de orbitación de la tierra con respecto al Sol, es correcto pensar que bajo ciertas condiciones de eclipses anteriores se puedan dar repeticiones. En otras palabras, se puede pensar que el tiempo que debe transcurrir para el próximo eclipse, está dado por las condiciones de una cantidad L de eclipses anteriores. Por lo anterior, resulta útil calcular las diferencias entre los tiempos en calendario Juliano entre eclipses como una variable para el modelo a construir.

image.png

De los gráficos anteriores, se puede observar que gran parte de las diferencias de tiempo entre eclipses, se encuentran distribuidas en pocos intervalos, validando de una manera empírica la repetición de eclipses según la orbitación de la tierra al Sol.

PCA (Principal Components Analysis)

Principal Component Analysis es un método estadístico que permite simplificar la complejidad de un espacio muestral, en otras palabras, permite representar un conjunto de datos con una cantidad de variables menor a la original (condensando). Cada nueva variable resultante de la reducción de dimensionalidad del conjunto de datos, recibe el nombre de componente principal.

Consideraciones

  1. Las variables deben estar estandarizadas (media cero y desviación estandar uno).
  2. No se deben tener en cuenta los outliers (valores atípicos).

Observado la gráfica de varianza explicada con respecto al número de componentes, queda claro que el cantidad mínima de variables a las que podemos reducir las mediciones de un eclipse son aproximadamente 7. Lo anterior implica que contamos con un problema de múlti-dimensional, dado que para cada variable de respuesta se cuenta con una matriz de entrada (revisar algoritma para la transformación del dataset inicial en la siguiente sección).

Modelo ML

A partir del conjunto de datos proporcionado por la NASA y transformado en este notebook, se desea construir un modelo de regresión que mediante una matriz de L observaciones de eclipses anteriores y m variables observadas por cada uno de los eclipses, esté en la capacidad de predecir la diferencia en calendario Juliano para el próximo eclipse Solar. A continuación se muestra un esquema sintetizando la información mecionada:

image.png

Recordado que las variables medidadas para un eclipse no se pueden reducir a menos de 7 componentes principales, se obta por aplicar un proceso de aplanado (flattening) en búsqueda de reducir la dimensión requerida por la mayoría de modelos de Machine Learning.

image.png

Train, test and validation split

Con el proposito de organizar el flujo para el proceso de entrenamiento y validación del modelo, se opta por realizar una separación del conjunto de datos siguiendo el método train, test y validation con proporciones 60%, 20% y 20% respectivamente. A continuación se tiene un gráfico con un resumen del proceso:

image.png

Regresión lineal

La regresión lineal es un método estadístico que trata de modelar la relación entre una variable continua y una o más variables independientes mediante el ajuste de una ecuación lineal. Para dar un definición más formal del método, tenemos que:

image.png

Métricas de desempeño

$R^2:$ El R cuadrado es una métrica estadística que se utiliza en modelos de regresión para evaluar que tan bien se están prediciendo los valores futuros. En otras palabras, es el porcentaje de variación de la variable de respuesta $y$ que es explicado por las variables predictoras $X$. Mientras el valor se encuentre más cerca de 100% podemos decir que mejor desempeño tiene el modelo.

$MSE:$ El error cuadrático medio es el promedio de la diferencia al cuadrado entre el valor objetivo y el valor predicho por el modelo de regresión. El cálculo es capaz de penalizar pequeños errores.

SVR (Support Vector Regression)

La regresión de vectores de soporte es un tipo de máquina que admite la regresión lineal y no lineal, para realizar el análisis de regresión los datos deben de contener números reales continuos. Para ajustar este tipo de datos, el modelo SVR aproxima los mejores valores con un margen, considerando la complejidad del modelo y la tasa de error. la misión es encajar tantas instancias como sea posible entre líneas. El trabajo del SVM es aproximar la función que usamos para generar el conjunto de entrenamiento para reforzar parte de la información que ya hemos discutido en un problema de clasificación.

Análisis de resultados y conclusiones

  1. De acuerdo con las métricas de desempeño utilizadas, se evidencia claramente que la regresión lineal tiene un mejor resultado para la predicción de valores desconocidos por el modelo R cuadrado LR > R cuadrado SVR (kernel por defecto).
  2. Comparando los resultados para le modelo de SVR con kernel por defecto, se evidencia un sobre ajuste del modelo sobre los datos de entrenamiento. R cuadrado train >> R cuadrado test.
  3. Los modelos obtenidos son el mejor resultado del ajuste de las variables de entrada (se removieron variables con alta correlación) y el ajuste del hiperpaŕametro L
  4. Asumir un proceso de flattening a modo de reducción de dimensionalidad, pudo afectar los resultados de ambos modelos de predicción. Como trabajo futuro puede ser recomendable un extractor de características diferente a PCA, como proceso de entrada para los modelos de regresión.
  5. Se analizó reducir la dimensionalidad utilizando una CNN, pero esta metodología no se aplica dado que para una matriz de eclipses no existe una relación espacial entre los elementos (como si lo existe en las imágenes, etc.)
  6. Aunque se puedo analizar el problema inicial como un modelo de regresión, gracias a la transformación de la fecha a un número en calendario Juliano. Es recomendable analizar el problema como una serie de tiempo.